[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Int 2F Fn 1607 - MS Windows - "dosmgr" Virtual Device API [D]
AX = 1607h
BX = 0015h (VxD identifier of "DOSMGR")
CX = function
0000h query instance processing
DX = 0000h
Return: CX = state
0000h not instanced
other instanced (DOS 5+ kernel returns 0001h)
DX = segment of DOS drivers or 0000h for
default of 0070h
ES:BX -> patch table (see below)
0001h set patches in DOS
DX = bit mask of patch requests
bit 0 enable critical sections
bit 1 NOP setting/checking user ID
bit 2 turn INT 21/AH=3Fh on STDIN into polling loop
bit 3 trap stack fault in "SYSINIT" to WIN386
bit 4 BIOS patch to trap "Insert disk X:" to WIN386
Return: AX = B97Ch
BX = bit mask of patches applied
DX = A2ABh
0002h remove patches in DOS (ignored by DOS 5.0 kernel)
DX = bit mask of patch requests (see function 0001h)
0003h get size of DOS data structures
DX = bit mask of request (only one bit can be set)
bit 0: Current Directory Structure size
Return: if supported request:
AX = B97Ch
CX = size in bytes of requested structure
DX = A2ABh
else:
all registers preserved
0004h determine instanced data structures
Return: AX = B97Ch if supported
DX = A2ABh if supported (DOS 5+ kernel returns 0000h)
BX = bit mask of instanced items
bit 0: CDS
bit 1: SFT
bit 2: device list
bit 3: DOS swappable data area
0005h get device driver size
ES = segment of device driver
Return: DX:AX = 0000h:0000h on error (not dev. driver segment)
DX:AX = A2ABh:B97Ch if successful
BX:CX = size of device driver in bytes
Notes: DOSMGR (DOS Manager) will check whether the OEM DOS/BIOS data has
been instanced via this API and will not perform its own default
instancing of the normal DOS/BIOS data if so; if this API is not
supported, DOSMGR will also try to access instancing data through
INT 2F/AX=1603h
these functions are supported by the DOS 5+ kernel; DOSMGR contains
tables of instancing information for earlier versions of DOS
see Geoff Chappell's book _DOS_Internals_ for additional discussions of
DOSMGR's behavior and instancing in general
See Also: AX=1603h,AX=1605h,AX=1607h/BX=000Ch,AX=1607h/BX=0014h,AX=1684h
Format of patch table:
Offset Size Description
00h 2 BYTEs DOS version (major, minor)
02h WORD offset in DOS data segment of "SAVEDS"
04h WORD offset in DOS data segment of "SAVEBX"
06h WORD offset in DOS data segment of InDOS flag
08h WORD offset in DOS data segment of User ID word
0Ah WORD offset in DOS data segment of "CritPatch" table to enable
critical section calls (see INT 2A/AH=80h)
0Ch WORD (DOS 5+ only) offset in DOS data segment of "UMB_HEAD",
containing segment of last MCB in conventional memory
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson